

///<reference path="../../../global.d.ts" />

//打开log;
let isLog = true;

const printLog = function (name: any, value?: any) {
    if (!isLog) {
        return;
    }
    let info = "%c-->>: ";
    info += name
    value === undefined ? console.log(info, 'color:#34AA70;') : console.log(info, 'color:#34AA70;', value);
}
window.printLog = printLog;

// //打印 LOG
// const printError = function (name: any, ...list: any[]) {
//     if (!isLog) {
//         return;
//     }
//     let info = "-->>: ";
//     info += name
//     for (var i = 0; i < list.length; i++) {
//         info += list[i];
//     }
//     info += "\n";
//     var e = new Error();
//     var lines = e.stack.split("/n");
//     lines.forEach(function (line) {
//         info += line;
//     })
//     console.log(info);
// }
// window.printError = printError;


// 数字缩写
const briefNumber = (num) => {
    if (num >= 1000 && num < 99999) {
        // 1万到10万
        // num = Math.floor((num / 1000)) + "k";
        num = (num / 1000).toFixed(1) + 'k';
    } else if (num >= 100000 && num < 999999) {
        // 10万到100万
        // num = Math.trunc(num / 10000) + "w";
        num = (num / 10000).toFixed(1) + "w";
    } else if (num >= 1000000 && num < 99999999) {
        // 100万到1亿
        // num = Math.round(num / 1000000) + "m";
        num = (num / 1000000).toFixed(1) + "m";
    } else if (num >= 100000000) {
        // num = Math.round(num / 100000000) + "b";
        num = (num / 100000000).toFixed(1) + "b";
    }
    return num;
}
window.briefNumber = briefNumber;

// 获取第二天0点的时间戳
const getYesterdayTimestamp = () => {
    const today = new Date(new Date().setHours(0, 0, 0, 0)) / 1000;
    const yesterday = today + 86400 * 1;
    return yesterday;
}
window.getYesterdayTimestamp = getYesterdayTimestamp;

// 随机范围
const getRandom = (min, max) => {
    return Math.floor((Math.random() * (max - min)) + min);
}
window.getRandom = getRandom;


// const PLATFORM: any = {
//     bk: "bk",
//     wx: "wx",
//     web: "web",
//     ios: "ios",
//     android: "android",
// };
// window.PLATFORM = PLATFORM;
// window.lableBug = undefined;

// window.SGP;
// var printc = printc || window.printc || window["printc"];
// var printObj = printObj || window.printObj || window["printObj"];

// //打开log;
// let isLog = true;
// //打开测试
// let isTest = false;

// var CHANNEL = {
//     null: "null",
//     web: "web",
//     tap: "tap",
//     xm: "xm",
//     zx: "zx",
//     hy: "hy",
//     wx: "wx",
//     appStore: "appStore",
// };

// // 渠道
// var tagChannel = CHANNEL.wx;
// window.tagChannel = tagChannel;


// //打印 LOG
// const printLog( = function (name: any, ...list: any[]) {
//     if (!isLog) {
//         return;
//     }
//     let info = "-->>: ";
//     info += name
//     for (var i = 0; i < list.length; i++) {
//         info += list[i];
//     }

//     // var e = new Error();
//     // var lines = e.stack.split("\n");
//     // info+="\n"+lines[2];
//     // info+="\n"+lines[3];
//     console.log(info);
// }
// window.printLog( = printLog(;

// //打印 LOG
// const printError = function (name: any, ...list: any[]) {
//     if (!isLog) {
//         return;
//     }
//     let info = "-->>: ";
//     info += name
//     for (var i = 0; i < list.length; i++) {
//         info += list[i];
//     }
//     info += "\n";
//     var e = new Error();
//     var lines = e.stack.split("/n");
//     lines.forEach(function (line) {
//         info += line;
//     })
//     console.log(info);
// }
// window.printError = printError;

// //打印数组
// const dump = function (objS: any, name?: string) {
//     name = name || "";
//     let count = 0
//     let nextLine = "\n";
//     let str = "## " + name + " =" + nextLine;

//     let dump_ = function (obj: any, oTbaNum: number) {
//         oTbaNum = oTbaNum || 1;
//         let josnStr = nextLine;
//         let szTab = "";
//         let objType = null;

//         for (let i = 1; i < oTbaNum; i++) {
//             szTab = szTab + "\t";
//         }

//         for (let k in obj) {
//             let v = obj[k];
//             josnStr = josnStr + "\t" + szTab;
//             objType = typeof v;
//             if (objType == "object") {
//                 josnStr = josnStr + k + ":" + dump_(v, oTbaNum + 1) + "," + nextLine;
//             } else {
//                 josnStr = josnStr + k + ":" + v + "," + nextLine;
//             }
//         }
//         if (oTbaNum == 1) {
//             return "{" + josnStr + szTab + "}";
//         }
//         if (objType == "object") {
//             return "[" + josnStr + szTab + "]";
//         } else {
//             return "{" + josnStr + szTab + "}";
//         }
//     }

//     str = str + dump_(objS, 0);
//     //console.log(str);
//     printLog(str);
// }
// window.dump = dump;

// // myDate.getYear(); //获取当前年份(2位)
// // myDate.getFullYear(); //获取完整的年份(4位,1970-????)
// // myDate.getMonth(); //获取当前月份(0-11,0代表1月)
// // myDate.getDate(); //获取当前日(1-31)
// // myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
// // myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
// // myDate.getHours(); //获取当前小时数(0-23)
// // myDate.getMinutes(); //获取当前分钟数(0-59)
// // myDate.getSeconds(); //获取当前秒数(0-59)
// // myDate.getMilliseconds(); //获取当前毫秒数(0-999)
// // myDate.toLocaleDateString(); //获取当前日期
// // var mytime=myDate.toLocaleTimeString(); //获取当前时间
// // myDate.toLocaleString( ); //获取日期与时间
// // date & time
// // yearstr = yearstr.length >= 4 ? yearstr : '0000'.substr(0, 4 - yearstr.length) + yearstr;

// // 格式化时间
// const formatDate = function (time_) {
//     var time = {
//         year: time_.getFullYear(),
//         month: time_.getMonth() + 1,
//         date: time_.getDate(),
//         hour: time_.getHours(),
//         minute: time_.getMinutes(),
//         second: time_.getSeconds(),
//         //quarter:Math.floor((time_.getMonth() + 3) / 3)
//     };
//     return time;
// };
// window.formatDate = formatDate;

// // 一年的第几周
// const getWeekOfYear = function (now_) {
//     var totalDays = 0;
//     let now = new Date(now_);
//     let years = now.getFullYear()
//     let myDate_ = new Date();
//     myDate_.setFullYear(years, 0, 1);
//     let day = myDate_.getDay();

//     var days = new Array(12);
//     days[0] = 31;
//     days[1] = 28;
//     days[2] = 31;
//     days[3] = 30;
//     days[4] = 31;
//     days[5] = 30;
//     days[6] = 31;
//     days[7] = 31;
//     days[8] = 30;
//     days[9] = 31;
//     days[10] = 30;
//     days[11] = 31;

//     //闰年
//     if (Math.round(now.getFullYear() / 4) == now.getFullYear() / 4) {
//         days[1] = 29
//     }

//     if (now.getMonth() == 0) {
//         totalDays = totalDays + now.getDate();
//     } else {
//         var curMonth = now.getMonth();
//         for (var count = 1; count <= curMonth; count++) {
//             totalDays = totalDays + days[count - 1];
//         }
//         totalDays = totalDays + now.getDate();
//     }
//     //得到第几周
//     var week = Math.floor((totalDays + day - 2) / 7);
//     let num = (totalDays + day - 1) % 7;
//     let weekData = {
//         week: week + 1,
//         num: num,
//     }
//     return weekData;
// }
// window.getWeekOfYear = getWeekOfYear;

// // 时间间隔天
// const subTimeToDay = function (timeNow_, timeLast_) {
//     let timeNow = Date.parse(timeNow_);
//     let timeLast = Date.parse(timeLast_);
//     let time_ = Math.floor((timeNow - timeLast));

//     let days = Math.floor(time_ / 43200000);
//     return days;
// }
// window.subTimeToDay = subTimeToDay;

// // 时间间隔小时
// const subTimeToHour = function (timeNow_, timeLast_) {
//     let timeNow = Date.parse(timeNow_);
//     let timeLast = Date.parse(timeLast_);
//     let time_ = Math.floor((timeNow - timeLast));

//     let hour = Math.floor(time_ / 43200000 * 24);
//     return hour;
// }
// window.subTimeToHour = subTimeToHour;

// 获得数组长度
const getListLength = function (list) {
    let count = 0;
    for (let key in list) {
        count += 1;
    }
    return count;
}
window.getListLength = getListLength;

// // number转boolean
// const changeNumberForBoolean = function (value) {
//     if (typeof value === 'number') {
//         return value > 0;
//     }
//     return value;
// }
// window.changeNumberForBoolean = changeNumberForBoolean;

// //day
// const compareDate = function (startData, endDate) {

// };
// window.compareDate = compareDate;

// //格式化输出
// const format = function (f1: any, ...arr: any[]) {
//     let str = f1;
//     for (let i = 0; i < arr.length; i++) {
//         let p = str.indexOf("%s");
//         let t = arr[i];
//         let s = str.substring(0, p);
//         let e = str.substring(p + 2);
//         //printLog(this._TAG,p+"--p--"+t+"--t--"+s+"--s--"+e+"--e--");
//         str = s + t + e;
//     };
//     return str;
// }
// window.format = format;

// //判断是否为空的方法
// const isEmpty = function (obj: any) {
//     if (!obj || obj == undefined || obj == null || obj == "") {
//         return true;
//     } else if (typeof obj == "object") {
//         for (var name in obj) {
//             return false;
//         }
//         return true;
//     }
//     return false;
// }
// window.isEmpty = isEmpty;

// // number截取短字符串
// const getShortNum = function (num: number) {
//     var y = parseInt(num / 100000000 + "");
//     var w = parseInt(num / 10000 + "");
//     var num2 = num >= 100000000 ? y + '亿' : num >= 10000 ? w + '万' : num + "";
//     return num2;
// }
// window.getShortNum = getShortNum;

// // 字符串截取
// const getStrByLength = function (str: string, num: number, addDot?: boolean) {
//     var strCount = 0;
//     let str_ = ""
//     for (var i = 0; i < str.length; i++) {
//         strCount = str.charCodeAt(i) > 255 ? strCount + 2 : strCount + 1.5;
//         if (strCount <= num) {
//             str_ += str[i];
//         } else {
//             if (addDot) {
//                 str_ += "...";
//             }
//             return str_
//         }
//     }
//     return str_
// }
// window.getStrByLength = getStrByLength;

// // number截取指定长度小数
// let getNumByPoint = function (num: number, point: number) {
//     let numStr = num.toString()
//     return parseFloat(numStr.substr(0, numStr.indexOf(".") + point + 1));
// }

// // 包含检查
// const checkContain = function (p: any, pos: any, size: any) {
//     let rect = {
//         l: pos.x - size.width / 2,
//         r: pos.x + size.width / 2,
//         t: pos.y + size.height / 2,
//         b: pos.y - size.height / 2,
//     }

//     if (p.x >= rect.l && p.x <= rect.r && p.y >= rect.b && p.y <= rect.t) {
//         return true;
//     }
//     return false;
// }
// window.checkContain = checkContain;

// const getAngle = function (p1, p2) {
//     var angle = Math.atan2((p1.y - p2.y), (p2.x - p1.x)) //弧度 -0.6435011087932844, 即 2*Math.PI - 0.6435011087932844
//     var theta = angle * (180 / Math.PI);  //角度 -36.86989764584402，即360 - 36.86989764584402 = 323.13010235415598
//     return theta + 90;
// }
// window.getAngle = getAngle;

// // const getAngle =function(startPos,endPos) {
// //     let x =endPos.x - startPos.x;
// //     let y =endPos.y - startPos.y;
// //     // 计算斜边长度
// //     let xie = (Math.sqrt(Math.pow(x,2) + Math.pow(y,2)))
// //     // 计算弧度 余弦值(x边/斜边)
// //     let cosAngle = Math.acos(x / xie);
// //     // 得到角度 弧度/Math.PI * 180;
// //     let angle = cosAngle/ Math.PI * 180;
// //     if(startPos.y < endPos.y){
// //         angle = -angle
// //     }
// //     return angle;
// // }
// // window.getAngle =getAngle;

// //概率计算
// const getIndexProb = function (list: any) {
//     var sum = 0;
//     var rand = 0;
//     var index = 0;
//     for (var i in list) {
//         sum += list[i];
//     }

//     // 思路就是如果设置的数落在随机数内，则返回，否则减去本次的数
//     for (let i = 0; i < list.length; i++) {
//         rand = Math.floor(Math.random() * sum + 1);
//         if (list[i] >= rand) {
//             index = i;
//             break;
//         } else {
//             sum -= list[i];
//         }
//     }
//     return index;
// }
// window.getIndexProb = getIndexProb;

// // 从数组里边随机获取一个值
// const getRandom = function (list: any) {
//     let index = Math.floor(Math.random() * list.length);
//     //console.log("index --> ", index);
//     return list[index];
// }
// window.getRandom = getRandom;


// const clone = function (obj: any) {
//     var type = Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
//     if (type == 'object') {
//         var json = {};
//         for (var k in obj) {
//             if (obj.hasOwnProperty(k)) {
//                 json[k] = clone(obj[k]);
//             }
//         }
//         return json;
//     } else if (type == 'array') {
//         var arr = [];
//         for (var i = 0; i < obj.length; i++) {
//             arr[i] = clone(obj[i]);
//         }
//         return arr;
//     } else {
//         return obj;
//     }
// }

// window.clone = clone;

// const setButtonImage = function (button, Frame1, Frame2?, Frame3?, Frame4?) {
//     button.pressedSprite = Frame2 || Frame1;
//     button.normalSprite = Frame1;
//     button.hoverSprite = Frame3 || Frame1;
//     if (Frame4) {
//         button.disabledSprite = Frame4
//     }
// }
// window.setButtonImage = setButtonImage;

// var getPrintC = function () {
//     var printc = window.printc;
//     var printObj = window.printObj;

//     if (printc) {
//         printLog("printc--,>>>>");
//         printc.call(printObj);
//     } else {
//         printLog("printc--,<<<<");
//     }
// }
// window.getPrintC = getPrintC;

// const countService = function (data) {
//     printLog("##countService-->>", data.tagName);
//     if (cc.sys.platform != cc.sys.QQ_PLAY) {
//         return;
//     }
//     // let data ={ tagId: 1, tagName: "level", tagValue: "3" }
//     // SGP.plugin.Service.trace(data, (ret)=>{
//     //     //printLog("countService-->>over");
//     //     if(ret){
//     //         //printLog("countService-->>trace data:" + JSON.stringify(ret));
//     //     }
//     // });
// }
// window.countService = countService;
